home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 12.9 KB | 524 lines | [TEXT/MPS ] |
- /*
- File: Movies.idl
-
- Contains: QuickTime Interfaces.
-
- Version: Technology: QuickTime 2.1
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __MOVIES_IDL__
- #define __MOVIES_IDL__
-
- #include <somobj.idl>
- #include <somcls.idl>
-
- #ifndef __QUICKDRAW_IDL__
- #include <Quickdraw.idl>
- #endif
- #ifndef __ALIASES_IDL__
- #include <Aliases.idl>
- #endif
- #ifndef __EVENTS_IDL__
- #include <Events.idl>
- #endif
- #ifndef __MENUS_IDL__
- #include <Menus.idl>
- #endif
- #ifndef __COMPONENTS_IDL__
- #include <Components.idl>
- #endif
- #ifndef __IMAGECOMPRESSION_IDL__
- #include <ImageCompression.idl>
- #endif
-
- #ifdef __SOMIDL__
-
- #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
- /* "kFix1" is defined in FixMath as "fixed1" */
- /* error codes are in Errors.[haa] */
- /* gestalt codes are in Gestalt.[hpa] */
- typedef SOMFourByteStruct MovieRecord; /* Derived from a struct of 4 bytes in size */
-
- typedef OpaquePtr Movie; /* Substituted OpaquePtr for “MovieRecord*” */
-
- typedef SOMFourByteStruct TrackRecord; /* Derived from a struct of 4 bytes in size */
-
- typedef OpaquePtr Track; /* Substituted OpaquePtr for “TrackRecord*” */
-
- typedef SOMFourByteStruct MediaRecord; /* Derived from a struct of 4 bytes in size */
-
- typedef OpaquePtr Media; /* Substituted OpaquePtr for “MediaRecord*” */
-
- typedef SOMFourByteStruct UserDataRecord; /* Derived from a struct of 4 bytes in size */
-
- typedef OpaquePtr UserData; /* Substituted OpaquePtr for “UserDataRecord*” */
-
- typedef SOMFourByteStruct TrackEditStateRecord; /* Derived from a struct of 4 bytes in size */
-
- typedef OpaquePtr TrackEditState; /* Substituted OpaquePtr for “TrackEditStateRecord*” */
-
- typedef SOMFourByteStruct MovieEditStateRecord; /* Derived from a struct of 4 bytes in size */
-
- typedef OpaquePtr MovieEditState; /* Substituted OpaquePtr for “MovieEditStateRecord*” */
-
- typedef SOMLargeStruct SampleDescription; /* Derived from a struct of 16 bytes in size */
-
- typedef OpaquePtr SampleDescriptionPtr; /* Substituted OpaquePtr for “SampleDescription*” */
-
- typedef OpaquePtr SampleDescriptionHandle; /* Substituted OpaquePtr for “SampleDescriptionPtr*” */
-
- typedef SOMFourByteStruct SpriteWorldRecord; /* Derived from a struct of 4 bytes in size */
-
- typedef OpaquePtr SpriteWorld; /* Substituted OpaquePtr for “SpriteWorldRecord*” */
-
- typedef SOMFourByteStruct SpriteRecord; /* Derived from a struct of 4 bytes in size */
-
- typedef SpriteRecord Sprite;
-
- typedef Handle QTAtomContainer;
-
- typedef long QTAtom;
-
- typedef long QTAtomType;
-
- typedef long QTAtomID;
-
- typedef SOMLargeStruct SoundDescription; /* Derived from a struct of 36 bytes in size */
-
- typedef OpaquePtr SoundDescriptionPtr; /* Substituted OpaquePtr for “SoundDescription*” */
-
- typedef OpaquePtr SoundDescriptionHandle; /* Substituted OpaquePtr for “SoundDescriptionPtr*” */
-
- typedef SOMLargeStruct TextDescription; /* Derived from a struct of 59 bytes in size */
-
- typedef OpaquePtr TextDescriptionPtr; /* Substituted OpaquePtr for “TextDescription*” */
-
- typedef OpaquePtr TextDescriptionHandle; /* Substituted OpaquePtr for “TextDescriptionPtr*” */
-
- typedef SOMLargeStruct DataReferenceRecord; /* Derived from a struct of 8 bytes in size */
-
- typedef OpaquePtr DataReferencePtr; /* Substituted OpaquePtr for “DataReferenceRecord*” */
-
- /*
- --------------------------
- Music Sample Description
- --------------------------
- */
- typedef SOMLargeStruct MusicDescription; /* Derived from a struct of 24 bytes in size */
-
- typedef OpaquePtr MusicDescriptionPtr; /* Substituted OpaquePtr for “MusicDescription*” */
-
- typedef OpaquePtr MusicDescriptionHandle; /* Substituted OpaquePtr for “MusicDescriptionPtr*” */
-
- /* progress messages */
- /* progress operations */
- typedef OpaquePtr MovieRgnCoverProcPtr;
- typedef OpaquePtr MovieRgnCoverUPP;
- typedef OpaquePtr MovieProgressProcPtr;
- typedef OpaquePtr MovieProgressUPP;
- typedef OpaquePtr MovieDrawingCompleteProcPtr;
- typedef OpaquePtr MovieDrawingCompleteUPP;
- typedef OpaquePtr TrackTransferProcPtr;
- typedef OpaquePtr TrackTransferUPP;
- typedef OpaquePtr GetMovieProcPtr;
- typedef OpaquePtr GetMovieUPP;
- typedef OpaquePtr MoviePreviewCallOutProcPtr;
- typedef OpaquePtr MoviePreviewCallOutUPP;
- typedef OpaquePtr MoviesErrorProcPtr;
- typedef OpaquePtr MoviesErrorUPP;
- typedef OpaquePtr TextMediaProcPtr;
- typedef OpaquePtr TextMediaUPP;
- typedef ComponentInstance MediaHandler;
-
- typedef ComponentInstance DataHandler;
-
- typedef Component MediaHandlerComponent;
-
- typedef Component DataHandlerComponent;
-
- typedef ComponentResult HandlerError;
-
- /* TimeBase equates */
- typedef long TimeValue;
-
- typedef long TimeScale;
-
- typedef wide CompTimeValue;
-
- typedef unsigned long TimeBaseFlags;
-
- typedef SOMFourByteStruct TimeBaseRecord; /* Derived from a struct of 4 bytes in size */
-
- typedef OpaquePtr TimeBase; /* Substituted OpaquePtr for “TimeBaseRecord*” */
-
- typedef SOMFourByteStruct CallBackRecord; /* Derived from a struct of 4 bytes in size */
-
- typedef OpaquePtr QTCallBack; /* Substituted OpaquePtr for “CallBackRecord*” */
-
- typedef SOMLargeStruct TimeRecord; /* Derived from a struct of 16 bytes in size */
-
- /* CallBack equates */
- typedef unsigned short QTCallBackFlags;
-
- typedef unsigned long TimeBaseStatus;
-
- typedef unsigned short QTCallBackType;
-
- typedef OpaquePtr QTCallBackProcPtr;
- typedef OpaquePtr QTCallBackUPP;
- typedef SOMLargeStruct QTCallBackHeader; /* Derived from a struct of 48 bytes in size */
-
- typedef OpaquePtr QTSyncTaskProcPtr;
- typedef OpaquePtr QTSyncTaskUPP;
- typedef SOMLargeStruct QTSyncTaskRecord; /* Derived from a struct of 8 bytes in size */
-
- typedef OpaquePtr QTSyncTaskPtr; /* Substituted OpaquePtr for “QTSyncTaskRecord*” */
-
- /* track usage bits */
- /* Add/GetMediaSample flags */
- typedef unsigned short nextTimeFlagsEnum;
-
- typedef unsigned long createMovieFileFlagsEnum;
-
- typedef unsigned long movieFlattenFlagsEnum;
-
- typedef unsigned long dataRefAttributesFlags;
-
- typedef unsigned long playHintsEnum;
-
- typedef unsigned long mediaHandlerFlagsEnum;
-
- typedef SOMLargeStruct SampleReferenceRecord; /* Derived from a struct of 18 bytes in size */
-
- typedef OpaquePtr SampleReferencePtr; /* Substituted OpaquePtr for “SampleReferenceRecord*” */
-
- /*
- ************************
- * Initialization Routines
- *************************
- */
- /*
- ************************
- * Error Routines
- *************************
- */
- /*
- ************************
- * Idle Routines
- *************************
- */
- /*
- ************************
- * calls for playing movies, previews, posters
- *************************
- */
- /*
- ************************
- * calls for controlling movies & tracks which are playing
- *************************
- */
- /* called between Begin & EndUpdate */
- /**** spatial movie routines ****/
- /** movie display clip */
- /** movie src clip */
- /** track src clip */
- /** bounds in display space (not clipped by display clip) */
- /** bounds in movie space */
- /** bounds in track space */
- /** mattes - always in track space */
- /*
- ************************
- * calls for getting/saving movies
- *************************
- */
- /*
- ************************
- * Movie State Routines
- *************************
- */
- /*
- ************************
- * Track/Media finding routines
- *************************
- */
- /*
- ************************
- * Track creation routines
- *************************
- */
- /*
- ************************
- * Track State routines
- *************************
- */
- /*
- ************************
- * get Media routines
- *************************
- */
- /*
- ************************
- * Media State routines
- *************************
- */
- /*
- ************************
- * Media Handler routines
- *************************
- */
- /*
- ************************
- * Media's Data routines
- *************************
- */
- /*
- ************************
- * Media Sample Table Routines
- *************************
- */
- /*
- ************************
- * Editing Routines
- *************************
- */
- /*
- ************************
- * Hi-level Editing Routines
- *************************
- */
- /*
- ************************
- * Middle-level Editing Routines
- *************************
- */
- /*
- ************************
- * movie & track edit state routines
- *************************
- */
- /*
- ************************
- * track reference routines
- *************************
- */
- /*
- ************************
- * modifier track types
- *************************
- */
- typedef SOMLargeStruct ModifierTrackGraphicsModeRecord; /* Derived from a struct of 10 bytes in size */
-
- /*
- ************************
- * high level file conversion routines
- *************************
- */
- /*
- ************************
- * Movie Timebase Conversion Routines
- *************************
- */
- /*
- ************************
- * Miscellaneous Routines
- *************************
- */
- /*
- ************************
- * Group Selection Routines
- *************************
- */
- /*
- ************************
- * User Data
- *************************
- */
- /*
- ************************
- * Video Media routines
- *************************
- */
- /* use these two routines at your own peril*/
- /*
- ************************
- * Sound Media routines
- *************************
- */
- /*
- ************************
- * Sprite Media routines
- *************************
- */
- /* flags for HitTestSpriteMedia */
- /* atom types for sprite media */
- /*
- ************************
- * Text Media routines
- *************************
- */
- /* Return displayFlags for TextProc */
- /*
- ***
- Movie Controller support routines
- ***
- */
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
- /*
- ****
- Scrap routines
- ****
- */
- /*
- ****
- DataRef routines
- ****
- */
- /*
- ****
- Playback hint routines
- ****
- */
- /*
- ****
- Load time track hints
- ****
- */
- /*
- ****
- Big screen TV
- ****
- */
- /*
- ****
- Sprite Toolbox
- ****
- */
- /* Sprite Properties*/
- /* flagsIn for SpriteWorldIdle*/
- /* flagsOut for SpriteWorldIdle*/
- /* flags for sprite track sample format*/
- /*
- ****
- QT Atom Data Support
- ****
- */
- /* create and dispose QTAtomContainer objects*/
- /* locating nested atoms within QTAtomContainer container*/
- /* set a leaf atom's data*/
- /* extracting data*/
- /* extract a copy of an atom and all of it's children, caller disposes*/
- /* obtaining direct reference to atom data*/
- /*
- building QTAtomContainer trees
- creates and inserts new atom at specified index, existing atoms at or after index are moved toward end of list
- used for Top-Down tree creation
- */
- /* inserts children from childrenContainer as children of parentAtom*/
- /* destruction*/
- /* replacement must be same type as target*/
- typedef ComponentInstance MovieController;
-
- typedef short mcAction;
-
- typedef unsigned long mcFlags;
-
- typedef OpaquePtr MCActionFilterProcPtr;
- typedef OpaquePtr MCActionFilterUPP;
- typedef OpaquePtr MCActionFilterWithRefConProcPtr;
- typedef OpaquePtr MCActionFilterWithRefConUPP;
- /*
- menu related stuff
- */
- /* menu item codes*/
- /* target management */
- /* event handling etc. */
- /* obsolete. use MCSetActionFilterWithRefCon instead. */
- /*
- proc is of the form:
- Boolean userPlayerFilter(MovieController mc, short *action, void *params) =
- proc returns TRUE if it handles the action, FALSE if not
- action is passed as a VAR so that it could be changed by filter (ick)
- this is consistent with the current dialog manager stuff
- params is any potential parameters that go with the action <triple ick>
- such as set playback rate to xxx.
- */
- /* state type things */
- /* other stuff */
- /*
- called when the app has changed thing about the movie (like bounding rect) or rate. So that we
- can update our graphical (and internal) state accordingly.
- */
- /*
- duration to use for time slider -- will be reset next time MCMovieChanged is called
- or MCSetMovie is called
- */
- /*
- returns the time value and the time scale it is on. if there are no movies, the
- time scale is passed back as 0. scale is an optional parameter
-
- */
- /*
- makes m the only movie attached to the controller. makes the controller visible.
- the window and where parameters are passed a long to MCSetMovie and behave as
- described there
- */
- /*
- calls for editing
- */
- /*
- * somewhat special stuff
- */
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
- /*
- ***************************************
- * *
- * T I M E B A S E *
- * *
- ***************************************
- */
- /*
- ***************************************
- * *
- * C A L L B A C K *
- * *
- ***************************************
- */
- /*
- ***************************************
- * *
- * C L O C K C A L L B A C K *
- * S U P P O R T *
- * *
- ***************************************
- */
- /*
- ***************************************
- * *
- * S Y N C T A S K S *
- * S U P P O R T *
- * *
- ***************************************
- */
- /* UPP call backs */
- #endif
-
- #endif /* __SOMIDL__ */
-
- #endif /* __MOVIES_IDL__ */
-
-